This is a chronological list of the major changes made in each new version of Thoth.
1.0.0
(initial public release)
1.0.1
• Disabled the News Server Preferences command when there's no open news file. This eliminates the problems and confusion that result from trying to get started for the first time without first choosing the New News Server command.
• Worked around a bug in OS X that causes the OK button in dialogs to ignore clicks if a Navigation Services dialog was previously opened from that dialog.
• Worked around a bug in OS X that caused progress bars to not be drawn properly in inactive windows.
• The work-around used in Classic mode with CarbonLib 1.0.4 had the unfortunate side-effect of having Thoth's help menu items show up in some other programs. Fixed.
• Printing didn't work (gave “unexpected error” alerts when print dialogs were to be displayed. Fixed.
• Added the ability to automatically open a new file when starting Thoth by double-clicking the application itself or some other non-news file via the “Thoth Startup” folder the the ”Thoth Preferences” folder. If when Thoth is first started no news file is being opened, then the first news file found in the “Thoth Startup” folder will be opened. To use this feature, place an alias of one the news file you want to open automatically (NOT the news file itslef, nor the news folder, nor an alias to the news folder) in the “Thoth Startup” folder.
1.0.2
• Bugs in OS X and classic OS with CarbonLib and/or various URL helper apps require separate work-arounds to get command-clicking of URLs to work reliably and correctly in both OS X and classic/Carbon. Thoth now tries to use an appropriate work-around for each set of bugs.
• Fixed a cosmetic problem with reusing article windows containing a thread list.
• Added an option to the “News Server Preferences” dialog to allow only one message to be sent at a time when multiple news server connections are enabled. This may help with news servers that don't handle multiple simultaneous posting operations from one user well, or when sending is much slower then downloading.
• Revamped some window handling code to work around a bug in Carbon that caused a crash when using the function key activated popup volume control and screen brightness windows in OS 9. Thoth should now be much more resistant to system software bugs related to window event handling.
• Holding down the shift key while command-clicking a Message-ID or news URL or when using the “Open URL” command causes the article to be opened in the default web browser using Deja.com. This is a handy way of reading old or missing posts that are not on your news server. Similarly holding down the shift key while command -clicking on an email address or when using the “Open URL” command causes the posting history for that author to be shown using Deja.com.
• Improved how the “Open Last References” and “Open All References” commands work to try to find the newly opened articles in the associated subject window. Those opened articles that are in the subject window will now have the thread list displayed at the top of the window (if this option is enabled) and will have the “Mark Kept” command enabled. In an article window, command-clicking on a Message-ID or news URL or selecting one and using the “Open URL” command will similarly try to find the newly opened articles in the associated subject window, etc.
• Added the option to the Export command for user group windows to save in standard .newsrc format.
• Added an Import command for subscribed group windows that allows a standard format .newsrc file (of type 'TEXT') to be imported to the group window, adding the groups in the .newsrc file to those already in the window.
• Modified the “Check for News Articles” command to check only the selected newsgroups if the shift key is held down.
• Eliminated a bogus warning at startup about not being able to find or create the stationery or signatures folders that could happen in a few rare circumstances.
• Fixed a problem with the default location for some of the save file dialogs when no default was supposed to be used.
• Removed the old markkeptandreadallgroups custom apple event and replace it with the new markkeptandread custom event that allows specifying the user group window to be marked kept and read.
• Added an option to disable the parts cache when using a news server with terrible completeness problems.
• In a user group window in online mode, if a newsgroup has no unread posts on the news server but there are unread kept posts, the unread kept count is shown (in italics). The marker used to indicate that a news group has kept posts has also been changed. Now a solid diamond () is drawn if there are unread kept posts, otherwise a hollow diamond (◊) is drawn.
• Added '≠' (option-equals) as a new special regular expression symbol when it occurs as the very first character in a regular expression. In that situation it acts to negate the result of the regular expression. So a regular expression of "newsreader" would match everything that contained the string newsreader, while "≠newsreader" would match everything that did not contain the string newsreader.
1.0.3
• Preferences are now saved immediately after being edited in the “General Preferences” dialog. News server settings are likewise saved immediately after being edited in the “News Server Preferences” dialog, and the full group list is saved whenever it is changed owing to new groups being added, deleted groups being removed, etc.
• Modified the markkeptandread apple event to add an optional doAutoSave argument to automatically save the user group window once all the headers have been fetched and marked read.
• Fixed the URLs used to show posts and posting histories on Deja.com so that they work with Netscape. Fixed a bug that caused mailto URLs to not work for looking up a posting history on Deja.com.
• Fixed a problem with using the Cancel button in the Status window to cancel all queued article list window openings: the user group list windows weren't being updated to get rid of the pending status flag and '*' marker character.
• Renamed the View menu command “Resort Images” to “Resort.” This command can now be used to resort both image catalog windows and subscribed newsgroup windows (new feature).
• When checking for new articles for a group window, the progress bar in the Status window now shows what percentage of the groups have been checked when the article range information is being fetched from the news server. Similarly, when opening an article list window, the progress bar displays what percentage of the headers have been downloaded when headers are being fetched from the news server.
• Updated “Read Me First” document's discussion of Carbon and OS X compatibility and bug issues.
• Revised the “filter->pref” converter to better handle errors that occur when the original YA-NewsWatcher files don't have any filters or group settings stored in them.
• Changed how removing successful transfers from the Queued Transfers list is done in order to preserve any selected pending transfer items.
1.0.4
• Fixed some errors in the text of various dialogs.
• Previously which posts were shown fetching fewer than the number of available headers for a new article list window behaved inconsistently depending on whether or not the newsgroup had unread posts from a previous newsreading session. If not all the old posts had been marked read then the oldest N posts would be shown; otherwise (and when fetching from the full group list) the newest N posts would be displayed. The behavior will now always be consistent. The default behavior can be set via a new “Fetch Old Posts First” checkbox in the “Newsreading Options” pane of the “General Preferences” dialog, and the behavior can be adjusted on the fly by option-clicking the newsgroup and setting the checkbox in the “Maximum Number to Fetch” dialog appropriately.
Also, the max fetch setting used to be ignored in offline mode: opening an article list window would always show all the available posts (with the read ones hidden if that option was enabled). Now all the options in the “Maximum Number to Fetch” dialog work correctly in offline mode. Note however that the definition of “oldest” and “newest” posts for kept and non-kept articles is not the same. In online mode (non-kept articles), “oldest” and “newest” refer to the article numbering, which is effectively the order in which the posts arrive at your news server. In offline mode (kept articles), “oldest” and “newest” refer to the order in which the articles were added to the kept article caches.
• More work-arounds for brain-dead news server software: always send AUTHINFO command in lower case.
• The “Play Error Sounds” setting in the “Extracting Binaries” pane of the “General Preferences” dialog has been renamed to “Report Queued Transfer Errors.” Now, when it is unchecked, the “Queued Transfers List” window is no longer automatically shown when an error occurs while sending or downloading.
• Put back the warning when extracting binaries from an article list window and some of the selected items are incomplete posts. The warning was only given when the result was nothing left to extract. If several items were selected and not all were incomplete, no warning was issued that not everything had been added to the “Queued Transfers” window.
• Updating the “Queued Transfers” list window should have been disabled while reading the “Thoth Transfers” file when opening the news server, but this wasn't happening resulting in very slow operation and lots of window updates if many items were saved in the file. Fixed, and also added a status window message when the “Thoth Transfers” is being read.
• Fixed a problem with the status info (number of items, number selected) in the “Queued Transfers” window not being redrawn correctly when this information changed.
• Added the option to hide incomplete multi-part binary posts in article list windows. Please see Part Four of the "User Guide" for more information and cautions about using the various options to hide posts in Thoth.
• Some default newsgroup settings were not being set correctly from the current general preference settings.
• Fixed the problem of the “Try to Resume Interrupted Download” checkbox in the “Download Information” dialog being disabled when it should have been enabled.
• Fixed a crash when trying to open a newsgroup with more than about 32,000 articles when the horizontal scrollbar option was enabled for article list windows.
• The paused/unpaused state of the queued transfer connections is no longer changed when toggling between online and offline mode.
• Fixed a problem with the display of the download speed for large download items (larger than about 30 Mb).
• Fixed a problem with saving articles as text when the article was fetched by Message-ID.
• Improved performance when saving articles as text when the article is long or is being appended to a long file.
• Fixed some potential problems with decoded AppleSingle or AppleDouble attachments not getting the correct file creator and type. Also, the option to use InternetConfig to set file creators and types is now ignored when the downloaded file is an application or has its bundle bit set.
• Fixed a problem with typing or using the arrow keys in dialogs that didn't have a text field.
1.0.5
• Fixed some problems with drag handling in various windows and dialogs.
• When switching news servers the enabling of the queued transfers connections would revert to the last saved prefs settings, and not those used by the previous news server. Now the current settings are used instead.
• Worked around a slow typing with flickering problem, especially under OS X.
• Fixed an inconsistancy in how quitting under OS X was handled compare to classic/Carbon. Previously when Thoth received the 'quit' AppleEvent it would cause the program to quit immediately even if there were queued operations going on. Now if Thoth receives a 'quit' AppleEvent when it is the frontmost application it will do what it does under classic when the Quit command is given: display an alert if there are pending queued operations, and check to see if the option key is held down indicating the the “Cache Management” dialog should be shown. These changes are necessary because under OS X the program doesn't receive a quit command when the user chooses Quit, rather a 'quit' AppleEvent is received.
• Post public beta versions of OS X may indicate that some OS services like the Drag Manager are not available. Thoth now only checks for the availability of these when running in classic/Carbon.
1.0.6
• Thoth now goes offline (if it isn't already in offline mode) when the Mac it's running on goes to sleep, cancelling any operations that are in progress. When the Mac awakens Thoth will go back online if it was previously online.
• Added support for using multiple preferences files for people who share their Macs with others without using the multiple users feature of OS 9 or OS X. See “Part Two: Files and Folders” of the User Guide for more information.
• Thoth now recognizes and can play WAVE sound files (file type 'WAVE').
• There were two instances where, in the absence of a newsgroup setting, Thoth would set the default article charset conversion to Latin1->Mac instead of the actual preferences value. Fixed.
• Improved handling of mangled references headers when creating a reply.
• Article fetching may be a bit quicker.
• All the usual post processing was not always being done when decoding AppleDouble attachments. Fixed.
• When the image catalog window was in hide details mode (meaning the “Show if …” textbox was not displayed and image catalog updating was therefore not paused), the portion of the window panel that would normally display the number of images, etc. was not shown. This meant that it wasn't possible to click there to deselect the items in the list, as is standard for all Thoth list windows. This has been fixed so that now this status panel is always displayed.
• Adding images to the image catalog window is now done in a separate thread instead of in the program's main thread.
• Reading a newsgroup in offline mode when the option to hide read posts is enabled is now more like normal online reading in that you can choose to display a subset of the available articles at one time, mark those as read, then read the next batch of unread kept articles, etc. Previously only the last N or first N posts in the group would be fetched from the cache for display.
• Fixed a problem that could cause multiple display of some articles (from both the news server and from the caches) in online mode when the unread list was fragmented. Also, previously in online mode up to maxFetch kept articles would be added to an article list window. So it was possible to ask for 100 posts and get a window with 200 posts: 100 from the news server and 100 from the kept cache. Now the number of articles fetched from the news server is considered when adding articles from the kept cache, so that the number of articles from the server plus articles from the kept cache will never exceed the maximum fetch value (but articles from the parts cache are always added).
• Removed the option to fetch old posts first, and fixed some problems with maintaining the unread list for a newsgroup.
• Fixed a problem with mailing messages that could cause an error from the mail server or other problems. Fixed a problem with the Forward and Redirect commands when the option key was held down to automatically forward or redirect the message to yourself.
1.1.0
• Revised for OS X final (10.0.0) OS X Public Beta is no longer supported.
• Added a missing test at startup to see if Contextual Menus were available.
• Because Google bought Deja's usenet archiving service, the support in Thoth for looking up an article by Message-ID or getting an author profile (posting history) using Deja no longer worked. Thoth has been updated to look up articles by Message-ID and author (the closest approximation that Google offers to Deja's old author profile feature).
• Further modified how mult-part binaries are detected, as more and more people are posting with subject lines of the form:
you have to see this! - mybigfile.abc - [01 of 29] file 3 of 5 (500000 bytes) (1/1)
which has 3 different potential part indicators (some posts actually have more than this).
• You can now shift click on a Cancel button in the queued transfers list to cancel the associated queued transfer without disabling that queued transfer connection (i.e. the current item will be canceled and the next item will start transferring.) So there are now 3 types of queued transfer cancels possible: a normal click on the Cancel button cancels the transfer immediately and disables the queued transfer connection. An option click on the Cancel button cancels the transfer once it has completed and disables the queued transfer connection. A shift click on the Cancel button immediately cancels the transfer without disabling the queued transfer connection.
• The error sound is no longer played when a queued transfer is canceled by the user.
• Added the option when exporting an article list window to not include the articles in unexpanded threads.
• Added the ability to export the selected items in an article list window to the clipboard using the Copy command (when the “Show if …” edit field at the top of the article list field is not active). The result is equivalent to the export to file option for selected items with the option to include the articles in unexpanded threads turned off. Note that putting a large amount of data in the clipboard is NOT a good idea owing to how the Mac OS manages clipboard memory. Therefore if you're exporting more than a few hundred articles, exporting to a file is preferred to exporting to the clipboard.
• Changed how the “Next Group” command works when the next group is already open to show the open article list window.
• Added a “Show Killed/Hide Killed” command to the View menu for article list windows to toggle showing or hiding killed posts for the current article list window. Note that since both junked and killed articles are marked read, it's also necessary for the hide read posts option to be off for killed posts to be shown when the show killed option is chosen.
• Added support for the special global filter group "~" that is applied after all other filter groups.
• Changed how the saved article owning application is chosen to try to deal with some of the inherent problems in OS X. Previously you'd choose the application from a file dialog, and it's creator along with the type 'TEXT' would be used for saved articles and similar files. Now you can type in the file creator and file type or use a file dialog to select a sample document whose creator and type you want to use. Note that whenever possible the file type should still be 'TEXT', among other reasons to allow Thoth to open such text files. This change doesn't really solve the basic incompatibility between OS X Cocoa apps and carbon apps regarding identifying files by creator and type.
• Forwarded, redirected, and superseded messages would usually have a “Re: ” prepended to the subject header even if the original post did not. Fixed.
• Added leading zeros to the part indicator in binary posts (i.e. (01/15) rather than (1/15)) to placate folks on other systems that don't have proper binary thread parsing or "natural order" sorting.
• Added a “Bring All to Front” command to the Windows menu that's available under OS X. Also added an “Auto Bring All to Front” checkbox to “Miscellaneous Options” in the Preferences dialog to automatically bring all of Thoth's window to the front when switching to Thoth from another application. This can make window layering behave more like that in pre-OS X versions of the Mac OS.
• Added a “Reset to Default” button to the Preferences dialog. Clicking this button reverts to their default values all the general program preferences except filter settings and labels. This may be helpful in some circumstances when the preferences seem to be corrupt (Thoth is behaving in an unusual manner) and you want to reset the preferences without losing your filters and newsgroup settings, as would happen if you simply trashed the prefs file.
• Again modified how articles from the kept cache are added to article list windows. In online mode all such articles are added to the list of articles for the window. In offline mode the maxFetch setting is honored to determine the maximum number to add. In both cases kept articles that have been marked read are added to the list (and are included in the maxFetch count in offline mode), though they won't be initially displayed if the option to hide read posts is enabled. However they will be displayed if the Show Read command is used.
1.1.1
• Fixed a crashing bug when doing a “New Posting” command with many selected newsgroups.
• Added a hack to try to deal with OS X's too big “small system font.”
• Fixed a problem with the bottom (or only) item in the “Switch Servers” menu not working.
• Fixed a crash when quitting under OS X when the image catalog feature was enabled.
• Added a “Smart Styled Text Editing” option to the ”Message Options” preferences. When enabled quoting will automatically be inserted when you insert a line break in quoted text (if the text quoting uses standard quote characters that are recognized by the program). Hold down the option key when pressing the Return key to insert a line break and not insert quoting when “Smart Styled Text Editing” is enabled.
• Added a “Do Not Authenticate” radio button to the news server authentication preferences panel to make it clearer how to disable.
• Eliminated erroneous “out of memory” warnings under OS X when allocating large chunks of RAM.
1.1.2
• Added the option to have long filenames (more than 31 characters) for extracted binaries under OS X.
• Fixed a bug that caused queued transfers to not be added to the queued transfers list window when that window was hidden.
• Added a new “Ignore Label Priority” checkbox to the “Filter Options” preferences panel. When checked, filter label priority is ignored when filtering articles and applying labels, and a later filter will re-label a post even if it's label priority is lower than that of the post's existing label. Use this setting when you want all filters to have the same priority, and are just using the labels to apply different colors to posts and not a different priority.
• Added the option to turn off the default fast threading method used when creating article list windows. When fast threading is enabled the thread building stage of article list window creation is as fast as possible, but articles having long but similar subject headers (especially binary posts) may be grouped together. Also modified the fast threading method to be a bit smarter and to better distinguish long but similar subject headers from one another when threading.
• Again improved and revised the detection of multiple part binary posts when building article threads.
• Added a checkbox to the “Extracting Binaries” preference panel to disable the warning alert usually given when using the “Extract Binaries” command for an article list window when some of the selected article are incomplete multi-part binary posts.
• The “Show Details/Hide Details” state for the full group list is now saved. The old “Miscellaneous Options” preferences checkbox to set the default “Show Details/Hide Details” state for list windows has been removed, and is replaced with a “Show Details” checkbox in the “Article List Options” preferences panel.
• The “Queued Transfers List” window now has a padlock icon in the lower left corner to allow it's position and size to be locked. When unlocked the windows acts like other windows and obeys the “Rezoom Windows” checkbox under “Miscellaneous Options” which causes windows to be automatically zoomed when items are added to them to make their contents larger. When locked the window will not automatically be resized larger.
• Fixed a bug in horizontally scrolling message windows by dragging the scroll box.
• Added support for mouse scroll wheels (works under OS X).
1.2.0
• Added support for having multiple servers at once. The old “Switch Server” command has been replaced by “Open Server” and “Close Server” commands. Thoth's custom Apple events have been modified appropriately, and the User Guide has been updated to reflect the changes. While an individual news server is still limited to a maximum of 4 concurrent connections, up to 6 queued transfer connections can be shared among the open news servers.
• Added support for the extended format news URLs of the form <news://server/msgID> and <news://server/group/number>. A new “Copy news URL to Clipboard” command has been added to the Special menu. For an open article window or article list window with selected posts, it will create a news URLs for the indicated posts and copy them to the clipboard. If the option key is held down, URLs of the form <news://server/msgID> will be created. Otherwise the traditional <news:msgID> format is used instead.
• Added LaunchServices support under OS X so that the OS X version of Stuffit Expander is used to unstuff downloaded compressed files rather than the Classic version.
• Fixed a bug that caused decoded BinHex files to have garbage filenames under OS X when long filename support was enabled.
• Added support for thread navigation shortcut keys for article windows when the parent article list window uses reference threading. The [, ], (, and ) keys are shortcuts for going to the parent, child, previous sibling, or next sibling of the currently viewed article, respectively. The keypad shortcut keys 4, 6, 8, and 2 are now also used for these same thread navigation commands. When the article list window doesn't use reference threading, the keys map to the appropriate next article/previous article command.
• Thoth will return a disk full error when trying to open a new file for downloading or decode an extracted binary if there's less than 5 Mb free on the destination disk volume (20 Mb if the destination is the system disk). Note that it's still possible to fill up the disk if an individual article is too large. Cache files are similarly affected.
• Rename dialog (obtained when option-clicking on a window title for an image window, etc.) now supports long filenames under OS X. Window titles will now also show long filenames under OS X as appropriate.
• Changed the shortcut key to toggle the Pause button in the image window to the spacebar, and added 'p' and 'n' as shortcut keys to go to the previous or next image in the same folder. All three shortcut keys are now the same as used in Ptah.
1.2.1
• Eliminated a crash under OS X when trying to delete a subscribed group window.
• Added a work-around for a Carbon bug that sometimes keeps the Status or Queued Transfers windows from being shown when switching back into Thoth after Thoth's windows have been hidden via the Application menu Hide command.
• Fixed a problem introduced in 1.2.0 with a long delay when closing a news server when there are a large number of pending queued transfers for the server, or when quitting Thoth with a large number of pending queued transfers.
• Fixed a bug introduced in 1.2.0 that caused a crash when trying to drag group names from a group window into the Newsgroups field of a message window.
• Added a preference setting for whether binary posts should have the attachment name and info first or last in the subject line. The related setmessageattachment Apple Event and “Attached File Settings” dialog have also been updated appropriately.
• Personalities now also set the attached file encoding methods, segment size, and attachment name and info first or last settings. You may wish to edit and update your personalities to set the defaults you wish. By using a newsgroup specific personality you can now set the default encoding method, segment size, and attachment name and info first or last settings for that newsgroup.
• Using the Save command on an article has always incurred a fair amount of overhead because of the support for styled text and other options. Even if the “Save with Styled Text” option in the “Saved Articles” preferences was unchecked, the process of saving multiple articles to a single file could take a lot of time and stress the memory manager, due to various performance issues with WASTE and the Mac memory manager itself. The worst case scenario was using the Save command to save binary posts with the attached files. This was never recommended, and could cause all kinds of problems. As a partial work-around, Thoth now does special handling when saving articles with “Save with Styled Text” turned off to eliminate the speed and memory problems. To make this more useful, it's now possible to override the preference setting for “Save with Styled Text” via a checkbox in the Save Article or Append Article file dialog. If you must use the Save command to save binary posts without decoding them, please make sure that “Save with Styled Text” is turned off for such saves.
• Fixed (again) a problem with extracting binaries for an article window opened by reference.
• Fixed a problem with double-deleting images from an image catalog window.